package ar.edu.utn.frsf.tpae.a2012.g05.mock;

import java.util.ArrayList;
import java.util.List;

import ar.edu.utn.frsf.tpae.a2012.g05.dao.CuentaDao;
import ar.edu.utn.frsf.tpae.a2012.g05.entity.Cuenta;

public class CuentaMockDao implements CuentaDao {
	private List<Cuenta> cuentas = new ArrayList<Cuenta>();

	public Cuenta saveOrUpdate(Cuenta cuenta) {
		this.cuentas.add(cuenta);
		return cuenta;
	}

	public void delete(Cuenta cuenta) throws Exception {
		if (!this.cuentas.remove(cuenta))
			throw new Exception("El elemento que se intenta eliminar no existe");
	}

	public Cuenta findById(Integer id) {
		for(Cuenta cuenta : this.cuentas) {
			if(cuenta.getId() == id)
				return cuenta;
		}
		return null;
	}

	public Cuenta findByNumber(Integer id) {
		for(Cuenta cuenta : this.cuentas) {
			if(cuenta.getNumero().equals(id))
				return cuenta;
		}
		return null;
	}

	public List<Cuenta> findAll() {
		return this.cuentas;
	}
}
